EBSILON®Professional Online Dokumentation
EbsScript / EbsScript Interface Units / InterfaceUnit Python
In diesem Thema
    InterfaceUnit Python
    In diesem Thema

    Die Interface-Unit „@Python“ ermöglicht das Ausführen von Python-Code direkt aus EbsScript heraus. Es können sowohl Code direkt als auch Python-Dateien (*.py) ausgeführt werden. Zum Verwenden der Schnittstelle muss   

    1. Es muss Python installiert sein (Version 2.7 oder 3.0 oder neuer). Python für Windows kann von https://www.python.org/downloads/windows/ heruntergeladen werden.
    2. die Python-Erweiterung "Python for Windows Extensions" muss installiert sein (siehe z. B. http://sourceforge.net/projects/pywin32/ ).
    3. die COM-Klasse "EbsScriptPython.Interpreter" muss registriert werden: führen Sie dazu das Python-Skript “<Ebsilon-Install-Path>/Data/Python/ebsscript_python_interpreter.py” mit Python aus.

    Während der Ausführung eines EbsScripts bleibt das globale Dictionary von Python erhalten, d.h. mehrere hintereinander ausgeführte Aufrufe an Python können z.B. Python-Variablen anlegen und anschließend auslesen.

    ACHTUNG: Nach der Beendigung eines EbsScripts wird das globale Python-Dictionary gelöscht. Ein Zugriff auf Variablen auseinem vorhergehenden EbsScript-Laufes ist damit über das Dictionary nicht möglich (kann z.B. mittels „Python-pickling“ erreicht werden).

    These function/procedures are included in „@Python

    function pyEvaluate(expression:string):variant; internal;

    Evaluiert  „expression” und gibt das Ergebnis zurück.

    procedure pyExecute(expression:string); internal;

    Führt den Code in „expression” aus.

     

    procedure pyExecuteFile(file:string); internal;

    Führt den in „file” enthaltenen Code aus.

     

    function pyGetVariable(name:String):variant; internal;

    Gibt den Wert der globalen Variablen „name“ (d.h. Element des globalen Dictionary) zurück.

     

    procedure pySetVariable(name:String; const value:variant); internal;

    Setzt den Wert der globalen Variablen „name“.

     

    function pyLoadInterpreter():boolean; internal;

    Lade explicit den Python-Interpreter; Ergebnis ist true, wenn der Interpreter geladen werden konnte (oder bereits geladen wurde) Hinweis: Das explizite Laden des Python-Interpreters ist nicht notwendig.

     

    function pyUnloadInterpreter():boolean; internal;

    Entlädt den Python-Interpreter; Ergebnis ist true, wenn der Interpreter erfolgreich entladen werden konnte (oder nicht geladen wurde).

     

    function pyIsInterpreterLoaded():boolean; internal;

    Teste, ob der Python-Interpreter geladen ist; Ergebnis ist true, wenn der Interpreter geladen ist.

     

    procedure pySetFullyQualifiedLogfileName(path:string); internal;

    Den vollständig qualifizierten Pfad der Protokolldatei festlegen.

     

    function pyGetFullyQualifiedLogfileName():string; internal;

    Den vollständig qualifizierten Pfad der Protokolldatei ermitteln.

     

    procedure pyEnableLogging(enable:boolean = true); internal;

    Protokollierung aktivieren/deaktivieren

     

    function pyIsLoggingEnabled():boolean; internal;

    Gibt true zurück, wenn die Protokollierung aktiviert ist.